//
// Created by feng on 19-4-17.
//
/*
    读取index文件，每个index都对应文件中的一个定日镜
    index文件记录要进行光追的helio和rev序号
*/

#ifndef SOLARENERGY_CHIER_TASKLOADER_H
#define SOLARENERGY_CHIER_TASKLOADER_H

#include <unordered_set>

namespace solar
{
    class TaskLoader
    {
        public:
            TaskLoader(size_t heliostat_num);

            // bool loadRayTracingHeliostatIndex(std::string task_path, SolarScene &solarScene);
            // //读index文件

            [[nodiscard]] auto getHeliostatIndexesArray() const
                -> const std::unordered_set<int>&; // 返回heliostat—indexes
            [[nodiscard]] auto getReceiverIndexesArray() const
                -> const std::unordered_set<int>&; // 返回receiver_indexes

        private:
            std::unordered_set<int> heliostat_indexes; // 记录要用的定日镜index
            std::unordered_set<int> receiver_indexes;  // 记录要用的接收器的index
    };
} // namespace solar

#endif // SOLARENERGY_CHIER_TASKLOADER_H
